package com.ruoyi.app.service

import com.ruoyi.app.common.Data
import com.ruoyi.app.common.PageData
import com.ruoyi.app.domain.dto.MessageSearchDto
import com.ruoyi.app.domain.vo.InteractionMessageVo
import com.ruoyi.app.domain.vo.MemberMessageVo
import com.ruoyi.app.domain.vo.MessageIndexVo
import com.ruoyi.app.domain.vo.SystemMessageVo
import com.ruoyi.common.core.page.PageDomain

interface MessageApiService {

    /**
     * 用户消息列表
     */
    fun userMessageIndex(messageSearchDto: MessageSearchDto): Data<MessageIndexVo>

    /**
     * 获取消息详情
     */
    fun getMessageDetail(id: Long): Data<SystemMessageVo>

    /**
     * 获取未读消息数量
     */
    fun getUnReadMessageCount(userId: Long): Int

    /**
     * 已读系统消息
     */
    fun readSystemMessage(id: Long?): Data<Boolean>

    /**
     * 已读会员消息
     */
    fun readMemberMessage(id: Long?): Data<Boolean>

    /**
     * 已读互动消息
     */
    fun readInteractionMessage(id: Long?): Data<Boolean>

    /**
     * 移除系统消息
     */
    fun removeSystemMessage(id: Long?): Data<Boolean>

    /**
     * 移除会员消息
     */
    fun removeMemberMessage(id: Long?): Data<Boolean>

    /**
     * 移除互动消息
     */
    fun removeInteractionMessage(id: Long?): Data<Boolean>
}